package q324_wiggleSort;

import java.util.Arrays;

public class Solution {
    /*
    为了保证数组的顺序变为 低 - 高 - 低 - 高 。。。
    首先需要将数组排序
    然后clone一个数组 重新组织数组时
    将数组分为两半
    低的一半负责填充奇数的位置
    并且要从低的一半的尾部位置开始取数
    而高的一半也是从尾部位置开始取数 放到偶数位置上 并且加入判断越界条件即可
     */
    public void wiggleSort(int[] nums) {
        Arrays.sort(nums);
        int[] temp = nums.clone();
        int p = (nums.length + 1)/2;

        for (int i = 0, j = p - 1, k = nums.length - 1; i < temp.length; i += 2, --k) {
            nums[i] = temp[j--];
            if (i + 1 < nums.length) nums[i + 1] = temp[k];
        }


    }
}
